mod section01;
mod section02;
mod section03;
mod section04;

// 这是一个简单的宏，名为 `say_hello`。
macro_rules! say_hello {
    // `()` 表示此宏不接受任何参数。
    () => (
        // 此宏将会展开成这个代码块里面的内容。
        println!("Hello!")
    )
}

fn practice() {
    // 这个调用将会展开成 `println("Hello");`!
    say_hello!();
}

fn main() {
    practice();

    println!("");
    section01::practice();

    println!("");
    section02::practice();

    println!("");
    section03::practice();

    println!("");
    section04::practice();
}
